package commandDemo;

import commandDemo.impl.Light;
/**********************************
 * 这是一个命令，所以需要实现Command接口
 * 命令对象
 *******************************/
public class LightOnCommand implements Command{
    private final Light light;

    /********************
     * 构造器传入了某个电灯（比方说：客厅的电灯）
     * 以便让这个命令控制，然后记录在实例变量中，
     * 一旦调用execute()就由这个电灯对象成为接收者
     * 负责接受请求
     * @param mLight
     */
    public LightOnCommand(Light mLight) {
        this.light = mLight;
    }

    /*************************
     * 这个execute()方法调用接收对象
     *的on方法
     **************************/
    @Override
    public void execute() {
        light.on();
    }
}
